Image generation system, image generation method, and information storage medium

ABSTRACT

An image generation system includes an object space setting section, a character control section, a virtual camera control section, an inter-camera distance setting section that sets an inter-camera distance based on at least one of position information, direction information, and moving state information about the character or the virtual camera, the inter-camera distance being a distance between a left-eye virtual camera and a right-eye virtual camera for generating a stereoscopic image, and an image generation section that generates a left-eye image and a right-eye image, the left-eye image being an image viewed from the left-eye virtual camera in an object space, and the right-eye image being an image viewed from the right-eye virtual camera in the object space.

Japanese Patent Application No. 2010-83889 filed on Mar. 31, 2010, ishereby incorporated by reference in its entirety.

BACKGROUND

The present invention relates to an image generation system, an imagegeneration method, an information storage medium, and the like.

In recent years, a stereoscopic image generation system has attractedattention in the fields of movies, games, and the like as a system thatgenerates an image having improved presence. The stereoscopic imagegeneration system generates a left-eye image viewed from a left-eyecamera, and a right-eye image viewed from a right-eye camera. The playerwears stereoscopic glasses so that the player sees the left-eye imagewith the left eye and sees the right-eye image with the right eye toobtain stereoscopic vision. JP-A-2004-126902 discloses an imagegeneration system that implements such stereoscopic vision, for example.

The stereoscopic effect observed by the player increases as theinter-camera distance between the left-eye camera and the right-eyecamera increases. The stereoscopic effect decreases as the inter-cameradistance decreases.

However, an image generation system (e.g., game device) has beenconfigured so that the inter-camera distance is fixed. This makes itimpossible to implement effective stereoscopic representation (3Drepresentation) depending on the situation.

For example, the inter-camera distance may be changed depending on thescene. For example, the inter-camera distance may be increased in along-distance scene so that the stereoscopic effect increases, and maybe reduced in a short-distance scene so that a short-range object iseasily observed.

However, it is difficult for a game device or the like to implementappropriate stereoscopic representation depending on the game situationwhen merely changing the inter-camera distance depending on the scene.Specifically, the game situation changes in various ways based onoperation information input by the player using an operation section,and it is difficult to expect a change in game situation. Therefore, itis difficult to set the inter-camera distance to an appropriate distancedepending on the game situation when merely changing the inter-cameradistance depending on the scene. For example, even if the characterstands in a place where a distant view is obtained, an object may bepresent in front of the character when the character has turned aroundbased on an operation performed by the player. Therefore, if theinter-camera distance is increased for only the reason that a distantview is obtained, the player may be given a wrong impression whenobserving the object present in front of the character due to too high astereoscopic effect.

When the character moves on a map based on an operation performed by theplayer, the field-of-view state from the character changes in variousways depending on the place on the map. It is difficult to deal withsuch a change in field-of-view state by merely changing the inter-cameradistance depending on the scene. Moreover, an obstacle object may bepositioned between the virtual camera (viewpoint) and the characterdepending on an operation performed by the player. Such a situationcannot be anticipated by merely determining the game scene.

SUMMARY

According to one aspect of the invention, there is provided an imagegeneration system comprising:

an object space setting section that sets an object space where aplurality of objects are disposed;

a character control section that controls a character that moves in theobject space;

a virtual camera control section that controls a virtual camera;

an inter-camera distance setting section that sets an inter-cameradistance based on at least one of position information, directioninformation, and moving state information about the character or thevirtual camera, the inter-camera distance being a distance between aleft-eye virtual camera and a right-eye virtual camera for generating astereoscopic image; and

an image generation section that generates a left-eye image and aright-eye image, the left-eye image being an image viewed from theleft-eye virtual camera in the object space, and the right-eye imagebeing an image viewed from the right-eye virtual camera in the objectspace.

According to another aspect of the invention, there is provided an imagegeneration system comprising:

an object space setting section that sets an object space where aplurality of objects are disposed;

a time parameter calculation section that calculates a time parameterthat is a game-related parameter;

an inter-camera distance setting section that sets an inter-cameradistance based on the time parameter, the inter-camera distance being adistance between a left-eye virtual camera and a right-eye virtualcamera for generating a stereoscopic image; and

an image generation section that generates a left-eye image and aright-eye image, the left-eye image being an image viewed from theleft-eye virtual camera in the object space, and the right-eye imagebeing an image viewed from the right-eye virtual camera in the objectspace.

According to another aspect of the invention, there is provided an imagegeneration method comprising:

setting an object space where a plurality of objects are disposed;

controlling a character that moves in the object space;

controlling a virtual camera;

setting an inter-camera distance based on at least one of positioninformation, direction information, and moving state information aboutthe character or the virtual camera, the inter-camera distance being adistance between a left-eye virtual camera and a right-eye virtualcamera for generating a stereoscopic image; and

generating a left-eye image and a right-eye image, the left-eye imagebeing an image viewed from the left-eye virtual camera in the objectspace, and the right-eye image being an image viewed from the right-eyevirtual camera in the object space.

According to another aspect of the invention, there is provided an imagegeneration method comprising:

setting an object space where a plurality of objects are disposed;

calculating a time parameter that is a game-related parameter;

setting an inter-camera distance based on the time parameter, theinter-camera distance being a distance between a left-eye virtual cameraand a right-eye virtual camera for generating a stereoscopic image; and

generating a left-eye image and a right-eye image, the left-eye imagebeing an image viewed from the left-eye virtual camera in the objectspace, and the right-eye image being an image viewed from the right-eyevirtual camera in the object space.

According to another aspect of the invention, there is provided acomputer-readable information storage medium storing a program thatcauses a computer to execute one of the above image generation methods.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration example of an image generation systemaccording to one embodiment of the invention.

FIGS. 2A to 2C are views illustrative of a method of setting aninter-camera distance according to one embodiment of the invention.

FIGS. 3A to 3D are views illustrative of a method of setting aninter-camera distance based on map information.

FIG. 4 is a flowchart showing a process that sets an inter-cameradistance based on map information.

FIGS. 5A and 5B are views illustrative of a method of setting aninter-camera distance when a target object has appeared.

FIG. 6 is a flowchart showing a process that sets an inter-cameradistance when a target object has appeared.

FIG. 7 is a view illustrative of a method of setting an inter-cameradistance when an obstacle object is positioned between a virtual cameraand a character.

FIG. 8 is a flowchart showing a process that sets an inter-cameradistance when an obstacle object is positioned between a virtual cameraand a character.

FIGS. 9A to 9C are views illustrative of a method of setting aninter-camera distance based on a target point.

FIG. 10 is a view illustrative of a method of setting an inter-cameradistance based on the moving speed of a character.

FIG. 11 is a flowchart showing a process that sets an inter-cameradistance based on a target point.

FIGS. 12A and 12B are views illustrative of a method of setting aninter-camera distance based on presence historical information.

FIG. 13 is a flowchart showing a process that sets an inter-cameradistance based on presence historical information.

FIGS. 14A to 14D are views illustrative of a method of setting aninter-camera distance based on an accessory object or a motion.

FIGS. 15A and 15B are views illustrative of a method of changing aninter-camera distance when a hit event has been generated.

FIG. 16 is a flowchart showing a process that changes an inter-cameradistance when a hit event has been generated.

FIGS. 17A and 17B are views illustrative of a method of setting aninter-camera distance based on a time parameter.

FIGS. 18A and 18B are views illustrative of a method of setting aninter-camera distance based on the operation state of an operationsection.

FIGS. 19A and 19B show examples of a game environment setting screen.

FIG. 20 is a flowchart showing a process that sets an inter-cameradistance based on a time parameter.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

Several aspects of the invention may provide an image generation system,an image generation method, an information storage medium, and the likethat can implement appropriate stereoscopic representation depending onthe situation.

According to one embodiment of the invention, there is provided an imagegeneration system comprising:

an object space setting section that sets an object space where aplurality of objects are disposed;

a character control section that controls a character that moves in theobject space;

a virtual camera control section that controls a virtual camera;

an inter-camera distance setting section that sets an inter-cameradistance based on at least one of position information, directioninformation, and moving state information about the character or thevirtual camera, the inter-camera distance being a distance between aleft-eye virtual camera and a right-eye virtual camera for generating astereoscopic image; and

an image generation section that generates a left-eye image and aright-eye image, the left-eye image being an image viewed from theleft-eye virtual camera in the object space, and the right-eye imagebeing an image viewed from the right-eye virtual camera in the objectspace.

Specifically, the inter-camera distance that indicates the distancebetween the left-eye virtual camera and the right-eye virtual camera isset based on at least one of the position information, the directioninformation, and the moving state information about the character or thevirtual camera. An image viewed from the left-eye virtual camera and animage viewed from the right-eye virtual camera are generated as theleft-eye image and the right-eye image. This makes it possible tocontrol the inter-camera distance while reflecting the position, thedirection, or the moving state of the character or the virtual camera.Therefore, appropriate stereoscopic representation depending on thesituation can be implemented as compared with the case of controllingthe inter-camera distance depending on the game scene.

In the image generation system,

the inter-camera distance setting section may acquire map informationabout a place where the character or the virtual camera is positionedbased on the position information about the character or the virtualcamera, and may set the inter-camera distance based on the acquired mapinformation.

According to the above configuration, since the inter-camera distancecan be set using various types of information linked to the mapinformation, more intelligent inter-camera distance control can beimplemented.

In the image generation system,

the inter-camera distance setting section may increase the inter-cameradistance when it has been determined that the character or the virtualcamera is positioned at a high place based on the map information, andmay reduce the inter-camera distance when it has been determined thatthe character or the virtual camera is positioned at a low place basedon the map information.

According to the above configuration, since the inter-camera distancebetween the left-eye virtual camera and the right-eye virtual cameraincreases when the character or the virtual camera is positioned at ahigh place, a distant view can be suitably observed stereoscopically. Onthe other hand, since the inter-camera distance decreases when thecharacter or the virtual camera is positioned at a low place, a nearview around the character or the virtual camera can be suitably observedstereoscopically.

In the image generation system,

the inter-camera distance setting section may set the inter-cameradistance based on at least one of position information, directioninformation, and moving state information about a target object that istargeted by the character during a game.

This makes it possible to control the inter-camera distance whilereflecting the position, the direction, or the moving state of thetarget object that is targeted by the character during the game.

In the image generation system,

the inter-camera distance setting section may change the inter-cameradistance when it has been determined that a direction of the characteror the virtual camera has approximately coincided with a direction wherethe target object is positioned.

According to the above configuration, the inter-camera distance can becontrolled based on the positional relationship or the like between thecharacter or the virtual camera and the target object when the directionof the character or the virtual camera has approximately coincided withthe direction of the target object.

In the image generation system,

the inter-camera distance setting section may increase the inter-cameradistance when it has been determined that the target object ispositioned at a long distance away from the character or the virtualcamera, and may reduce the inter-camera distance when it has beendetermined that the target object is positioned at a short distance awayfrom the character or the virtual camera.

According to the above configuration, the inter-camera distance iscontrolled based on the distance between the character or the virtualcamera and the target object after it has been determined that thedirection of the character or the virtual camera has approximatelycoincided with the direction of the target object. This improves thestereoscopic visibility of the target object.

In the image generation system,

the inter-camera distance setting section may reduce the inter-cameradistance when it has been determined that an obstacle object has beenpositioned between the virtual camera and the character.

According to the above configuration, since the inter-camera distance isreduced when an obstacle object has been positioned between the virtualcamera and the character, a situation in which an unnatural image isdisplayed can be prevented.

In the image generation system,

the inter-camera distance setting section may set the inter-cameradistance when a target point has been set in the object space so thatthe character or the virtual camera is guided to the target point.

According to the above configuration, the character or the virtualcamera can be guided to the target point by effectively controlling thestereoscopic effect based on the inter-camera distance.

In the image generation system,

the inter-camera distance setting section may increase the inter-cameradistance when the target point has been set in the object space, and mayreduce the inter-camera distance as the character or the virtual cameraapproaches the target point.

According to the above configuration, since the inter-camera distanceincreases when the target point has been set, the target point can beeasily and stereoscopically observed even if the target point ispositioned away from the character. Since the inter-camera distancedecreases as the character or the virtual camera approaches the targetpoint, the visibility such of an object or the like around the targetpoint can be improved.

In the image generation system,

the inter-camera distance setting section may set the inter-cameradistance based on a moving speed of the character or the virtual camera.

This makes it possible to control the inter-camera distance whilereflecting the moving speed of the character or the virtual camera.

In the image generation system,

the inter-camera distance setting section may increase the inter-cameradistance as the moving speed of the character or the virtual cameraincreases.

Specifically, the inter-camera distance increases as the moving speed ofthe character or the virtual camera increases, so that a distant view isappropriately stereoscopically represented. Therefore, the character orthe virtual camera can be guided to the target point positioned awayfrom the character.

In the image generation system,

the inter-camera distance setting section may set the inter-cameradistance based on presence historical information about the character orthe virtual camera in each place in the object space.

This makes it possible to control the inter-camera distance whilereflecting the presence historical information about the character orthe virtual camera in each place in the object space.

In this case, the inter-camera distance setting section may reduces theinter-camera distance in a place where it has been determined that thepresence frequency of the character or the virtual camera is low basedon the presence historical information, and may increase theinter-camera distance in a place where it has been determined that thepresence frequency of the character or the virtual camera is high basedon the presence historical information.

Specifically, the inter-camera distance decreases when the character orthe virtual camera is positioned in a place where the presence frequencyis low, and increases when the character or the virtual camera ispositioned in a place where the presence frequency is high. Therefore,the stereoscopic visibility of a near view is improved when thecharacter is positioned in a place where the character has visited forthe first time, and the stereoscopic visibility of a distant view isimproved when the character is positioned in a place where the characterhas visited many times.

In the image generation system,

the inter-camera distance setting section may set the inter-cameradistance based on the type of accessory object attached to thecharacter.

This makes it possible to control the inter-camera distance whilereflecting the type of accessory object attached to the character.

The accessory object may be a weapon object. The inter-camera distancesetting section may reduce the inter-camera distance when the weaponobject is a short-range attack object, and may increase the inter-cameradistance when the weapon object is a long-range attack object.

Specifically, since the inter-camera distance decreases when thecharacter is equipped with the short-range attack object, the player caneasily attack an enemy or the like that is positioned near thecharacter. On the other hand, since the inter-camera distance increaseswhen the character is equipped with the long-range attack object, theplayer can easily attack an enemy or the like that is positioned awayfrom the character.

In the image generation system,

the inter-camera distance setting section may set the inter-cameradistance based on a motion of the character.

This makes it possible to implement intelligent inter-camera distancecontrol that reflects the motion of the character.

In the image generation system,

the inter-camera distance setting section may change the inter-cameradistance by repeatedly increasing and reducing the inter-camera distancewhen a given event has been generated in connection with the character.

This makes it achieve an effect that utilizes a change in stereoscopiclevel as a result of changing the inter-camera distance.

According to another embodiment of the invention, there is provided animage generation system comprising:

an object space setting section that sets an object space where aplurality of objects are disposed;

a time parameter calculation section that calculates a time parameterthat is a game-related parameter;

an inter-camera distance setting section that sets an inter-cameradistance based on the time parameter, the inter-camera distance being adistance between a left-eye virtual camera and a right-eye virtualcamera for generating a stereoscopic image; and

an image generation section that generates a left-eye image and aright-eye image, the left-eye image being an image viewed from theleft-eye virtual camera in the object space, and the right-eye imagebeing an image viewed from the right-eye virtual camera in the objectspace.

Specifically, the game-related time parameter is calculated, and theinter-camera distance that indicates the distance between the left-eyevirtual camera and the right-eye virtual camera is set based on the timeparameter. An image viewed from the left-eye virtual camera and an imageviewed from the right-eye virtual camera are generated as the left-eyeimage and the right-eye image. This makes it possible to implementinter-camera distance control that reflects a change in time parameter,for example. Therefore, appropriate stereoscopic representationdepending on the situation can be implemented as compared with the caseof controlling the inter-camera distance depending on the game scene.

In the image generation system,

the time parameter calculation section may calculate an elapsed timeparameter as the time parameter, the elapsed time parameter indicating atime elapsed after a game has started; and

the inter-camera distance setting section may increase the inter-cameradistance as the time indicated by the elapsed time parameter increases.

Specifically, the inter-camera distance increases as the elapsed timeincreases. Therefore, the inter-camera distance can be increased afterthe player has become accustomed to the stereoscopic field-of-viewenvironment, so that a situation in which the player is given a wrongimpression due to a high stereoscopic level can be suppressed.

The elapsed time parameter time parameter may be a cumulative play timeparameter that indicates the cumulative play time of the player. Theinter-camera distance setting section may increase the inter-cameradistance as the cumulative play time indicated by the cumulative playtime parameter increases.

Specifically, the inter-camera distance increases as the cumulative playtime increases. Therefore, the inter-camera distance can be increasedafter the player has become accustomed to the stereoscopic field-of-viewenvironment, so that a situation in which the player is given a wrongimpression due to a high stereoscopic level can be suppressed.

The image generation system may further comprise:

a game environment setting section that performs a game environmentsetting process based on information input by a player,

the inter-camera distance setting section may bring the inter-cameradistance closer to a reference distance as the time indicated by thetime parameter increases when the reference distance has been set by thegame environment setting process.

This makes it possible for the player to set the reference distance ofthe inter-camera distance during the game environment setting process.The inter-camera distance approaches the reference distance as the timeindicated by the time parameter increases. This makes it possible toimplement inter-camera distance control that reflects the player's will.

The image generation system may further comprise:

an operation information acquisition section that acquires operationinformation input from an operation section operated by a player,

the inter-camera distance setting section may monitor the operationinformation acquired by the operation information acquisition section,and may control the inter-camera distance based on a monitoring resultof the operation information.

This makes it possible to implement inter-camera distance control thatreflects the operation information input from the operation section.

In this case, the inter-camera distance setting section may increase theinter-camera distance as the time indicated by the time parameterincreases, and may reduce the inter-camera distance when it has beendetermined that the operation information has not been input for a givenperiod.

Specifically, the inter-camera distance is reduced when it has beendetermined that the operation information has not been input for a givenperiod (i.e., the player has suspended the game). When the player hasstarted the game again, the game is executed in a state in which theinter-camera distance is reduced. This suppresses a situation in whichthe player is given a wrong impression.

The inter-camera distance setting section may reduce the inter-cameradistance when it has been determined that the input frequency of theoperation information is higher than a reference frequency.

Specifically, the inter-camera distance decreases when the inputfrequency of the operation information is high, so that the stereoscopicvisibility of a near view is improved.

The image generation system may include a game environment settingsection that performs a game environment setting process based oninformation input by a player, and the inter-camera distance settingsection may set the inter-camera distance based on at least one of anallowable change range and the reference distance of the inter-cameradistance set by the game environment setting process.

This makes it possible for the player to set the allowable change rangeand the reference distance of the inter-camera distance during the gameenvironment setting process. It is also possible to implementinter-camera distance control that reflects the allowable change rangeor the reference distance set by the player.

The inter-camera distance setting section may change the inter-cameradistance within the allowable change range set during the gameenvironment setting process.

This makes it possible to change the inter-camera distance within theallowable change range while reflecting the player's will to a certainextent. Therefore, the inter-camera distance can be set while absorbinga difference between players, so that a novel stereoscopic interfaceenvironment can be provided.

According to another embodiment of the invention, there is provided animage generation method comprising:

setting an object space where a plurality of objects are disposed;

controlling a character that moves in the object space;

controlling a virtual camera;

setting an inter-camera distance based on at least one of positioninformation, direction information, and moving state information aboutthe character or the virtual camera, the inter-camera distance being adistance between a left-eye virtual camera and a right-eye virtualcamera for generating a stereoscopic image; and

generating a left-eye image and a right-eye image, the left-eye imagebeing an image viewed from the left-eye virtual camera in the objectspace, and the right-eye image being an image viewed from the right-eyevirtual camera in the object space.

According to another embodiment of the invention, there is provided animage generation method comprising:

setting an object space where a plurality of objects are disposed;

calculating a time parameter that is a game-related parameter;

setting an inter-camera distance based on the time parameter, theinter-camera distance being a distance between a left-eye virtual cameraand a right-eye virtual camera for generating a stereoscopic image; and

generating a left-eye image and a right-eye image, the left-eye imagebeing an image viewed from the left-eye virtual camera in the objectspace, and the right-eye image being an image viewed from the right-eyevirtual camera in the object space.

According to another embodiment of the invention, there is provided acomputer-readable information storage medium storing a program thatcauses a computer to execute one of the above image generation methods.

Exemplary embodiments of the invention are described below. Note thatthe following exemplary embodiments do not in any way limit the scope ofthe invention laid out in the claims. Note also that all of the elementsof the following exemplary embodiments should not necessarily be takenas essential elements of the invention.

1. Configuration

FIG. 1 shows an example of a block diagram of an image generation system(game system) according to one embodiment of the invention. Note thatthe image generation system according to this embodiment is not limitedto the configuration shown in FIG. 1. Various modifications may be made,such as omitting some of the elements (sections) or adding otherelements (sections).

An operation section 160 allows the player to input operation data. Thefunction of the operation section 160 may be implemented by a directionkey, an operation button, an analog stick, a lever, a sensor (e.g.,angular velocity sensor or acceleration sensor), a microphone, a touchpanel display, or the like.

A storage section 170 serves as a work area for a processing section100, a communication section 196, and the like. The function of thestorage section 170 may be implemented by a RAM (DRAM or VRAM) or thelike. A game program and game data that is necessary when executing thegame program are stored in the storage section 170.

An information storage medium 180 (computer-readable medium) stores aprogram, data, and the like. The function of the information storagemedium 180 may be implemented by an optical disk (CD or DVD), a harddisk drive (HDD), a memory (e.g., ROM), or the like. The processingsection 100 performs various processes according to this embodimentbased on a program (data) stored in the information storage medium 180.Specifically, a program that causes a computer (i.e., a device includingan operation section, a processing section, a storage section, and anoutput section) to function as each section according to this embodiment(i.e., a program that causes a computer to execute the process of eachsection) is stored in the information storage medium 180.

A display section 190 outputs an image generated according to thisembodiment. The function of the display section 190 may be implementedby an LCD, an organic EL display, a CRT, a touch panel display, a headmount display (HMD), or the like. A sound output section 192 outputssound generated according to this embodiment. The function of the soundoutput section 192 may be implemented by a speaker, a headphone, or thelike.

An auxiliary storage device 194 (auxiliary memory or secondary memory)is a storage device used to supplement the capacity of the storagesection 170. The auxiliary storage device 194 may be implemented by amemory card such as an SD memory card or a multimedia card, or the like.

The communication section 196 communicates with the outside (e.g.,another image generation system, a server, or a host device) via a cableor wireless network. The function of the communication section 196 maybe implemented by hardware such as a communication ASIC or acommunication processor or communication firmware.

A program (data) that causes a computer to function as each sectionaccording to this embodiment may be distributed to the informationstorage medium 180 (or the storage section 170 or the auxiliary storagedevice 194) from an information storage medium included in a server(host device) via a network and the communication section 196. Use ofthe information storage medium included in the server (host device) isalso included within the scope of the invention.

The processing section 100 (processor) performs a game process, an imagegeneration process, a sound generation process, and the like based onoperation data from the operation section 160, a program, and the like.The processing section 100 performs various processes using the storagesection 170 as a work area. The function of the processing section 100may be implemented by hardware such as a processor (e.g., CPU or GPU) oran ASIC (e.g., gate array), or by a program.

The processing section 100 includes an operation information acquisitionsection 101, a game calculation section 102, an object space settingsection 104, a character control section 105, a virtual camera controlsection 108, a time parameter calculation section 110, a gameenvironment setting section 112, an inter-camera distance settingsection 114, an image generation section 120, and a sound generationsection 130. The game calculation section 102 includes a game eventprocessing section 103, and the character control section 105 includes amovement processing section 106 and a motion processing section 107.Note that various modifications may be made, such as omitting some ofthese elements or adding other elements.

The operation information acquisition section 101 acquires operationinformation. For example, the operation information acquisition section101 acquires operation information input from the operation section 160operated by the player. Specifically, the operation information input bythe player by operating the operation button, the operation lever, orthe like of the operation section 160 is output from the operationsection 160 every frame, and stored in an operation information buffer178. The operation information acquisition section 101 acquires theoperation information that is thus input every frame. The operationinformation may be information that indicates whether or not theoperation button has been pressed, information about the angle by whichthe operation lever has been tilted, or the like. When the operationsection 160 includes a motion sensor (e.g., angular velocity sensor),sensor information from the motion sensor is also used as the operationinformation.

The game calculation section 102 performs a game calculation process.The game calculation process includes starting the game when game startconditions have been satisfied, proceeding with the game, calculatingthe game results, and finishing the game when game finish conditionshave been satisfied, for example.

The game event processing section 103 included in the game calculationsection 102 performs a game event management process. For example, thegame event processing section 103 determines whether or not a generationcondition for a game event (e.g., enemy appearance event, attack event,game story development switch event, or map switch event) has beensatisfied. The game event processing section 103 generates the gameevent (sets a game event flag) that corresponds to the generationcondition that has been satisfied.

The object space setting section 104 sets an object space where aplurality of objects are disposed. For example, the object space settingsection 104 disposes an object (i.e., an object formed by a primitivesurface such as a polygon, a free-form surface, or a subdivisionsurface) that represents a display object such as a character (e.g.,human, animal, robot, car, ship, or airplane), a map (topography), abuilding, a course (road), a tree, or a wall in the object space.Specifically, the object space setting section 104 determines theposition and the rotational angle (synonymous with orientation ordirection) of the object in a world coordinate system, and disposes theobject at the determined position (X, Y, Z) and the determinedrotational angle (rotational angles around X, Y, and Z axes). Morespecifically, an object data storage section 171 included in the storagesection 170 stores object data that is linked to an object number andindicates the position, the rotation angle, the moving speed, the movingdirection, and the like of the object (part object). The object spacesetting section 104 updates the object data every frame, for example.

The character control section 105 controls the character that moves(makes a motion) in the object space. For example, the movementprocessing section 106 included in the character control section 105moves the character (model object or moving object). For example, thecharacter control section 106 moves the character in the object spacebased on the operation information input by the player using theoperation section 160, a program (movement algorithm), various types ofdata (motion data), and the like. More specifically, the charactercontrol section 106 performs a simulation process that sequentiallycalculates movement information (position, rotation angle, speed, oracceleration) about the character every frame (e.g., 1/60th of asecond). The term “frame” refers to a time unit used when performing amovement process, a motion process, and an image generation process.

The motion processing section 107 included in the character controlsection 105 performs a motion process (motion reproduction or motiongeneration) that causes the character to make a motion (animation). Themotion process may be implemented by reproducing the motion of thecharacter based on motion data stored in a motion data storage section172, for example.

Specifically, the motion data storage section 172 stores motion dataincluding the position or the rotational angle (three-axis rotationangles of a child bone with respect to a parent bone) of each bone(i.e., each part object that forms the character) that forms theskeleton of the character (model object). The motion processing section107 reproduces the motion of the character by reading the motion datafrom the motion data storage section 172, and moving each bone (partobject) of the skeleton (i.e., changing the shape of the skeleton) basedon the motion data.

The motion data stored in the motion data storage section 172 may begenerated by capturing the motion of a human provided with a sensor.Note that the motion data may be generated in real time by a physicalsimulation (simulation utilizing physical calculations (orpseudo-physical calculations)), motion blending, or the like. The motionmay be reproduced using inverse kinematics or the like in order toreproduce a realistic motion with a small amount of motion data.

The model data storage section 173 stores model data about a modelobject that indicates the character. The model data specifies the shapeof the model object that indicates the character, for example. The modeldata determines the basic posture, the basic shape, and the like of themodel object. Specifically, the model data storage section 173 storesinitial state information such as the position (position relative to aparent bone) and the initial rotation angle (rotation angle of each bonein the basic posture) of each bone that forms the skeleton of the modelobject. The model data storage section 173 also stores vertex data(e.g., vertex position) about the model object. The motion process isimplemented by updating the initial state information (e.g., initialrotation angle) included in the model data based on the motion data.

The virtual camera control section 108 controls a virtual camera(viewpoint or reference virtual camera) for generating an image viewedfrom a given (arbitrary) viewpoint in the object space. Specifically,the virtual camera control section 108 controls the position (X, Y, Z)or the rotational angle (rotational angles around X, Y, and Z axes) ofthe virtual camera (i.e., controls the viewpoint position, theline-of-sight direction, or the angle of view).

For example, when photographing the character from behind using thevirtual camera, the virtual camera control section 108 controls theposition or the rotational angle (direction) of the virtual camera sothat the virtual camera follows a change in the position or the rotationof the character. In this case, the virtual camera control section 108may control the virtual camera based on information (e.g., position,rotation angle, or speed) about the character obtained by the movementprocessing section 106. Alternatively, the virtual camera controlsection 108 may rotate the virtual camera by a predetermined rotationalangle, or may move the virtual camera along a predetermined path. Inthis case, the virtual camera control section 108 controls the virtualcamera based on virtual camera data that specifies the position (movingpath) or the rotational angle of the virtual camera.

The time parameter calculation section 110 calculates (sets) a timeparameter. For example, the time parameter calculation section 110measures the passage of time indicated by the time parameter. The timeparameter indicates a game-related time parameter (e.g., elapsed timeparameter). The elapsed time parameter indicates the elapsed time duringthe game. For example, the elapsed time parameter indicates the elapsedtime after the game has started. The elapsed time parameter may be acumulative play time parameter. The cumulative play time parameterindicates the cumulative play time of the player. For example, thecumulative play time parameter is obtained by summing up the game playtimes of the player. The value of the parameter (e.g., time parameter)is stored in a parameter storage section 176.

The game environment setting section 112 sets a game environment. Forexample, the game environment setting section 112 sets the gameenvironment based on information input by the player. Specifically, thegame environment setting section 112 displays a game environment settingscreen (option setting screen) on the display section 190. The gameenvironment setting section 112 sets game environment informationnecessary for the player to play the game based on information input bythe player to the game environment setting screen using the operationsection 160. The game environment information set by the gameenvironment setting section 112 is stored in the game environmentinformation storage section 177.

The inter-camera distance setting section 114 sets an inter-cameradistance. For example, the inter-camera distance setting section 114sets the inter-camera distance based on various game parameters (e.g.,parameters of position information, direction information, and movingstate information about the character or the virtual camera, timeparameter, and game event parameter).

The image generation section 120 performs a drawing process based on theresults of various processes (game process and simulation process)performed by the processing section 100 to generate an image, andoutputs the generated image to the display section 190. Specifically,the image generation section 120 performs a geometric process (e.g.,coordinate transformation (world coordinate transformation and cameracoordinate transformation), clipping, perspective transformation, orlight source process), and generates drawing data (e.g., primitivesurface vertex position coordinates, texture coordinates, color data,normal vector, or α-value) based on the results of the geometricprocess. The image generation section 120 draws the object (one or moreprimitive surfaces) subjected to perspective transformation in a drawingbuffer 179 (i.e., a buffer (e.g., frame buffer or work buffer) that canstore image information in pixel units) based on the drawing data(primitive surface data). The image generation section 120 thusgenerates an image viewed from the virtual camera (given viewpoint) inthe object space. The drawing process may be implemented by a vertexshader process or a pixel shader process.

The sound generation section 130 performs a sound process based on theresults of various processes performed by the processing section 100 togenerate game sound (e.g., background music (BGM), effect sound, orvoice), and outputs the generated game sound to the sound output section192.

The inter-camera distance setting section 114 sets an inter-cameradistance based on at least one of position information, directioninformation, and moving state information about the character or thevirtual camera, the inter-camera distance being the distance between aleft-eye virtual camera and a right-eye virtual camera for generating astereoscopic image.

The position information refers to information (coordinates) about arepresentative position of the character or the virtual camera, forexample. The direction information refers to information about thedirection (facing direction, line-of-sight direction, or movingdirection) of the character or the direction (line-of-sight direction ormoving direction) of the virtual camera, for example. The moving stateinformation refers to speed information, acceleration information, ormoving path information about the character or the virtual camera, forexample. The inter-camera distance refers to information (parameter)that indicates the distance between a left-eye virtual camera and aright-eye virtual camera for generating a stereoscopic image. Theinter-camera distance may be the distance between the left-eye virtualcamera and the right-eye virtual camera, or may be information (e.g.,stereoscopic level) equal to the distance between the left-eye virtualcamera and the right-eye virtual camera.

The image generation section 120 generates a left-eye image that is animage viewed from the left-eye virtual camera in the object space. Theimage generation section 120 also generates a right-eye image that is animage viewed from the right-eye virtual camera in the object space.Specifically, the image generation section 120 renders the object in theobject space from the viewpoint of the left-eye virtual camera togenerate a left-eye image, and renders the object in the object spacefrom the viewpoint of the right-eye virtual camera to generate aright-eye image.

The virtual camera control section 108 controls a reference virtualcamera for setting the left-eye virtual camera and the right-eye virtualcamera, for example. The virtual camera control section 108 calculatesposition information (viewpoint position) and direction information(line-of-sight direction) about the left-eye virtual camera and theright-eye virtual camera based on position information and directioninformation about the reference virtual camera and the inter-cameradistance. Note that the virtual camera control section 108 may directlycontrol the left-eye virtual camera and the right-eye virtual camera.The image generation section 120 generates a left-eye image using theleft-eye virtual camera and a right-eye image using the right-eyevirtual camera in a stereoscopic mode. The image generation section 120generates an image viewed from the reference virtual camera as apseudo-three-dimensional image in a pseudo-three-dimensional imagedisplay mode, for example.

A stereoscopic glass method, a naked-eye method using a lenticular lens,or the like may be used as the stereoscopic method. Examples of thestereoscopic glass method include a polarized glass method, a page-flipmethod, a two-color separation method, and the like. When using thepolarized glass method, a left-eye image and a right-eye image arealternately displayed in an odd-numbered line and an even-numbered lineof the display section 190, and are observed through polarized glasses(e.g., glasses provided with a horizontal polarizing filter (left) and avertical polarizing filter (right)) to implement a stereoscopic view.Alternatively, a left-eye image and a right-eye image are projectedusing a projector provided with a special polarizing filter, andobserved through polarized glasses to implement a stereoscopic view.When using the page-flip method, a left-eye image and a right-eye imageare alternately displayed on the display section 190 in a given cycle(e.g., every 1/120th of a second or 1/60th of a second). A left-eyeliquid crystal shutter and a right-eye liquid crystal shutter of glassesare alternately opened and closed in the above cycle to implement astereoscopic view. When using the two-color separation method, ananaglyph image is generated, and observed through red-cyan glasses orthe like to implement a stereoscopic view.

The image generation section 120 or the display section 190 may beprovided with the function of generating a stereoscopic image from theleft-eye image and the right-eye image. For example, the imagegeneration section 120 outputs side-by-side image signals. The displaysection 190 then displays a field-sequential image in which the left-eyeimage and the right-eye image are alternately assigned to anodd-numbered line and an even-numbered line based on the side-by-sideimage signals. The display section 190 may display a frame-sequentialimage in which the left-eye image and the right-eye image arealternately switched in a given cycle. Alternatively, the imagegeneration section 120 may generate a field-sequential image or aframe-sequential image, and output the generated image to the displaysection 190.

The inter-camera distance setting section 114 acquires map informationabout a place where the character or the virtual camera is positionedbased on the position information (representative position information)about the character or the virtual camera. Specifically, theinter-camera distance setting section 114 reads the map informationcorresponding to the place where the character or the virtual camera ispositioned from a map information storage section 174. The inter-cameradistance setting section 114 sets the inter-camera distance based on theacquired map information. Specifically, the inter-camera distancesetting section 114 increases the inter-camera distance when it has beendetermined that the character or the virtual camera is positioned at ahigh place (i.e., a place positioned higher than a reference height)based on the map information. The inter-camera distance setting section114 reduces the inter-camera distance when it has been determined thatthe character or the virtual camera is positioned at a low place (i.e.,a place positioned lower than a reference height) based on the mapinformation.

The inter-camera distance setting section 114 may set the inter-cameradistance based on at least one of position information, directioninformation, and moving state information (e.g., speed, acceleration,and moving path) about a target object that is targeted by the characterduring the game. The term “target object” used herein refers to anobject that is targeted by the character as to attack, defense,movement, or the like. The inter-camera distance setting section 114changes the inter-camera distance when it has been determined that thedirection of the character or the virtual camera has approximatelycoincided with the direction where the target object is positioned, forexample. Specifically, the inter-camera distance setting section 114reduces or increases the inter-camera distance when it has beendetermined that the line-of-sight direction of the virtual camera iswithin a given direction range including the direction where the targetobject is positioned. More specifically, the inter-camera distancesetting section 114 increases the inter-camera distance when it has beendetermined that the target object is positioned at a long distance(i.e., a distance longer than a reference distance) away from thecharacter or the virtual camera. The inter-camera distance settingsection 114 reduces the inter-camera distance when it has beendetermined that the target object is positioned at a short distance(i.e., a distance shorter than a reference distance) away from thecharacter or the virtual camera.

The inter-camera distance setting section 114 may reduce theinter-camera distance when it has been determined that an obstacleobject has been positioned between the virtual camera and the character.For example, an object that intersects a line segment that connects thevirtual camera and the character (i.e., a line segment that connects theposition of the virtual camera and the representative position of thecharacter) is determined to be the obstacle object. The inter-cameradistance setting section 114 temporarily reduces the inter-cameradistance in a period in which the obstacle object is detected.

The inter-camera distance setting section 114 may set the inter-cameradistance when a target point has been set in the object space so thatthe character or the virtual camera is guided (navigated) to the targetpoint. Specifically, the inter-camera distance setting section 114 setsthe inter-camera distance to prompt the player to move the charactertoward the target point. More specifically, the inter-camera distancesetting section 114 increases the inter-camera distance when the targetpoint has been set in the object space. The inter-camera distancesetting section 114 reduces the inter-camera distance as the characteror the virtual camera approaches the target object.

The inter-camera distance setting section 114 may set the inter-cameradistance based on the moving speed (moving state information in a broadsense) of the character or the virtual camera. For example, theinter-camera distance setting section 114 increases the inter-cameradistance as the moving speed of the character or the virtual cameraincreases. The moving speed may be information equivalent to the movingspeed.

The inter-camera distance setting section 114 may set the inter-cameradistance based on presence historical information about the character orthe virtual camera in each place in the object space. The term “presencehistorical information” refers to information that indicates thepresence history (presence frequency) of the character or the virtualcamera on a game field (map) where the character or the virtual cameramoves. The presence historical information is stored in a presencehistorical information storage section 175. Specifically, theinter-camera distance setting section 114 reduces the inter-cameradistance in a place where it has been determined that the presencefrequency of the character or the virtual camera is low (i.e., a placewhere the presence frequency is lower than a reference frequency) basedon the presence historical information. The inter-camera distancesetting section 114 increases the inter-camera distance in a place whereit has been determined that the presence frequency of the character orthe virtual camera is high (i.e., a place where the presence frequencyis higher than a reference frequency) based on the presence historicalinformation.

The inter-camera distance setting section 114 may set the inter-cameradistance based on the type of accessory object attached to thecharacter. The term “accessory object” used herein refers to an object(e.g., weapon, clothes, protector, or item) that is possessed or worn bythe character during the game. The inter-camera distance setting section114 reduces the inter-camera distance when a weapon object is ashort-range attack object. The inter-camera distance setting section 114increases the inter-camera distance when the weapon object is along-range attack object. The term “short-range attack object” usedherein refers to an object (i.e., an object having a short attack range)set as a short-range attack weapon using a table or the like. The term“long-range attack object” used herein refers to an object (i.e., anobject having an attack range longer than that of the short-range attackobject) set as a long-range attack weapon using a table or the like.

The inter-camera distance setting section 114 may set the inter-cameradistance based on the motion of the character. Specifically, theinter-camera distance is linked to each motion, and the left-eye virtualcamera and the right-eye virtual camera are set at the inter-cameradistance linked to the reproduced motion. For example, the inter-cameradistance when the character makes a squat motion differs from theinter-camera distance when the character makes a jump motion.

The inter-camera distance setting section 114 may change theinter-camera distance (repeatedly increase and reduce the inter-cameradistance) when a given event has been generated in connection with thecharacter. For example, the inter-camera distance setting section 114changes (swings) the inter-camera distance using a change function(periodic function) of which the amplitude gradually decreases. The gameevent processing section 103 included in the game calculation section102 determines generation of each event during the game.

When the time parameter calculation section 110 has performed agame-related time parameter calculation process (measurement process orsetting process), the inter-camera distance setting section 114 sets theinter-camera distance (i.e., the distance between the left-eye virtualcamera and the right-eye virtual camera for generating a stereoscopicimage) based on the time parameter. For example, the time parametercalculation section 110 calculates an elapsed time parameter (i.e., thetime elapsed after the game has started) as the time parameter. In thiscase, the inter-camera distance setting section 114 increases theinter-camera distance as the time indicated by the elapsed timeparameter increases. Alternatively, the time parameter calculationsection 110 calculates a cumulative play time parameter (i.e., thecumulative play time of the player) as the time parameter (elapsed timeparameter). In this case, the inter-camera distance setting section 114increases the inter-camera distance as the cumulative play timeindicated by the cumulative play time parameter increases.

The game environment setting section 112 performs a game environmentsetting process based on information input by the player using the gameenvironment setting screen, for example. The game environmentinformation set during the game environment setting process is stored inthe game environment information storage section 177. The inter-cameradistance setting section 114 brings the inter-camera distance closer toa reference distance as the time indicated by the time parameterincreases when the reference distance for the inter-camera distance hasbeen set by the game environment setting process. Specifically, theinter-camera distance setting section 114 gradually brings theinter-camera distance closer to the reference distance set by theplayer.

The operation information acquisition section 101 acquires the operationinformation input from the operation section 160 operated by the player.The inter-camera distance setting section 114 monitors the operationinformation, and controls the inter-camera distance based on themonitoring result. Specifically, the inter-camera distance settingsection 114 increases the inter-camera distance as the time (elapsedtime or cumulative play time) indicated by the time parameter (elapsedtime parameter or cumulative play time parameter) increases. Theinter-camera distance setting section 114 reduces the inter-cameradistance when it has been determined that the operation information hasnot been input for a given period. Specifically, the inter-cameradistance setting section 114 restores the inter-camera distance. Theinter-camera distance setting section 114 may reduce the inter-cameradistance when it has been determined that the input frequency of theoperation information (e.g., the number of inputs per unit time) ishigher than a reference frequency. For example, the inter-cameradistance setting section 114 reduces the inter-camera distance when ithas been determined that the player quickly and successively operatedthe operation button or the like of the operation section 160.

The inter-camera distance setting section 114 may set the inter-cameradistance based on at least one of an allowable change range of theinter-camera distance and a reference distance for the inter-cameradistance set during the game environment setting process (input process)performed by the game environment setting section 112. Specifically, theinter-camera distance setting section 114 sets the inter-camera distancebased on the allowable change range or the reference distance when theplayer has input the allowable change range or the reference distance.More specifically, the inter-camera distance setting section 114 changesthe inter-camera distance within the allowable change range set duringthe game environment setting process.

2. Method

The method according to this embodiment is described in detail below.

2.1 Setting of Inter-Camera Distance Based on Position Information andthe Like about Character

A stereoscopic level can be controlled by increasing or reducing theinter-camera distance between a left-eye virtual camera and a right-eyevirtual camera. For example, the inter-camera distance (stereoscopiclevel) may be set using an option screen (e.g., game environment settingscreen) (first method).

According to the first method, however, when the inter-camera distancehas been set using the option screen, a stereoscopic image is alwaysgenerated during the game using the inter-camera distance that has beenset. This makes it impossible to implement appropriate stereoscopicrepresentation depending on the game situation.

The player may be allowed to arbitrarily change the inter-cameradistance during the game by operating the operation section 160 (secondmethod). For example, the inter-camera distance is changed when theplayer has operated the operation lever of the operation section 160 sothat the stereoscopic level changes in stages (e.g., in three stages).According to the second method, the player can change the stereoscopiclevel to the desired level during the game.

However, the second method requires the player to operate the operationlever or the like in order to change the stereoscopic level by changingthe inter-camera distance. This makes it difficult to change thestereoscopic level in real time depending on the game situation thatchanges in various ways.

The inter-camera distance may be changed depending on the scene of thegame (third method). For example, the inter-camera distance is increasedin a scene that requires a high stereoscopic level, and is reduced in ascene that requires a low stereoscopic level.

According to the third method, however, since the inter-camera distancechanges only when the scene of the game changes, the inter-cameradistance is controlled monotonously. This makes it impossible toimplement intelligent inter-camera distance control based on the currentgame situation of the player. The player is given a wrong impressionwhen the degree of stereoscopic representation is high, but becomesaccustomed to such stereoscopic representation with the passage of time.However, the third method that controls the inter-camera distancedepending on the scene does not take the above point into consideration.

In order to deal with the above problems, this embodiment employs amethod that controls the inter-camera distance based on the positioninformation, the direction information, or the moving state informationabout the character or the virtual camera.

In FIG. 2A, a character CH moves on a game field in the object space,and a virtual camera VC follows the game character CH. In this case, aninter-camera distance DS between a left-eye virtual camera VCL and aright-eye virtual camera VCR shown in FIGS. 2B and 2C is set based on aposition PC (representative position), a direction DC (facing direction,line-of-sight direction, or moving direction), or moving stateinformation MVC (speed, acceleration, or moving path) of the characterCH. Alternatively, the inter-camera distance DS is set based on aposition PV (viewpoint position), a direction DV (line-of-sightdirection or moving direction), or moving state information MVV (speed,acceleration, or moving path) of the virtual camera VC (VCL, VCR) thatcorresponds to the viewpoint of the player. When using a first-personviewpoint, the character CH is a virtual object that is not displayed onthe display section 190, and the player moves in the object space usingthe viewpoint of the virtual camera VC as the viewpoint of the player.

In FIG. 2B, the inter-camera distance DS is reduced based on theinformation (e.g., position or direction) shown in FIG. 2A. Astereoscopic effect immediately in front of the virtual camera can beenhanced by reducing the inter-camera distance DS. Moreover, an objectpositioned at a short distance away from the virtual camera is easilyobserved stereoscopically due to a moderate stereoscopic effect. Anobject positioned at a long distance away from the virtual camera in thedepth direction is observed stereoscopically to only a small extent.

In FIG. 2C, the inter-camera distance DS is increased based on theinformation (e.g., position or direction) shown in FIG. 2A. Astereoscopic effect in the depth direction can be enhanced by increasingthe inter-camera distance DS. The player can stereoscopically observe anobject positioned at a long distance away from the virtual camera. It isdifficult for the player to observe an object positioned at a shortdistance away from the virtual camera due to a flicker.

Specifically, when using the third method that changes the inter-cameradistance depending on the scene, the inter-camera distance is reduced ina short-distance scene that is considered to mainly include objectspositioned at a short distance away from the virtual camera, and isincreased in a long-distance scene that is considered to mainly includeobjects positioned at a long distance away from the virtual camera.

However, it may be necessary to increase the inter-camera distance evenin a short-distance scene, or reduce the inter-camera distance even in along-distance scene depending on the position, the direction, or themoving state of the character or the virtual camera. This applies to acase where a long-distance scene is present in front of the character,and the character has looked back at a short-range object positionedbehind the character, a case where an enemy character has appeared infront of the character in a long-distance scene, or a case where anobstacle object has been positioned between the virtual camera and thecharacter, for example. When controlling the inter-camera distancedepending on the scene, the inter-camera distance can be changed only ata game stage change timing or the like. This makes it impossible toimplement intelligent inter-camera distance control based on the heightand the shape of the map where the character moves.

According to this embodiment, the inter-camera distance is changed basedon the position, the direction, or the moving state of the character orthe virtual camera. Therefore, when the character has looked back at anobject that is positioned close to the character in a state in which along-distance scene is present in front of the character, it is possibleto change the inter-camera distance by detecting a change in thedirection of the character.

Specifically, when the character faces forward, the inter-cameradistance DS is increased (see FIG. 2C) corresponding to thelong-distance scene present in front of the character, so that thedistant object can be observed stereoscopically. When it has beendetected that the character has looked back at an object that ispositioned close to the character, the inter-camera distance DS isreduced (see FIG. 2B). Therefore, a short-range object positioned behindthe character can be easily observed stereoscopically. Specifically, ifthe inter-camera distance DS remains long (see FIG. 2C) when thecharacter has looked back at a short-range object positioned behind thecharacter, it may be difficult to observe the short-range object due toa flicker. According to this embodiment, such a situation can beprevented.

When an enemy character has appeared in front of the character in along-distance scene, the stereoscopic effect can be appropriatelycontrolled depending on the game situation by setting the inter-cameradistance DS based on the positional relationship between the characterand the enemy character. When an obstacle object has been positionedbetween the virtual camera and the character, the presence of theobstacle object can be detected based on the position of the virtualcamera or the character and the position of the obstacle object, and theinter-camera distance DS can be reduced, for example. Therefore, theinter-camera distance DS that has been set corresponding to a distantobject can be changed corresponding to the obstacle object (i.e.,short-range object), so that a stereoscopic image that does not give theplayer the wrong impression can be generated.

2.2 Setting of Inter-Camera Distance Based on Map Information

A method of setting the inter-camera distance based on map informationis described below as an example of the method of setting theinter-camera distance based on the position information about thecharacter or the like.

In FIG. 3A, a map that includes a plurality of map blocks MB1, MB2, . .. , and MBN is provided on a game field (object space) where thecharacter CH moves. In FIG. 3A, map information is read based on theposition of the character CH or the virtual camera VC. Specifically, amap block corresponding to the position of the character CH or thevirtual camera VC is specified, and map information linked to thespecified map block is read. The inter-camera distance DS is controlledbased on the read map information.

As shown in FIG. 3B, the position coordinates (X, Z) of the vertex ofeach map block and height information (H) are linked to each of the mapblocks MB1 to MBN. A interpolation process is performed on the heightinformation linked to each vertex based on the position coordinates ofthe character CH in each map block and the position coordinates of eachvertex of the map block to determine the height of the place where thecharacter CH is positioned.

As shown in FIG. 3C, the inter-camera distance DS is increased when ithas been determined that the character CH is positioned at a high place.This makes it possible to generate an image with an appropriatestereoscopic setting when the character CH is positioned at a highplace. Specifically, an image is generated with a stereoscopic settingthat is suitable for looking over a distant view from a high place.

As shown in FIG. 3D, the inter-camera distance DS is reduced when it hasbeen determined that the character CH is positioned at a low place. Thismakes it possible to generate an image with an appropriate stereoscopicsetting when the character CH is positioned at a low place.Specifically, it is likely that a short-range object is present near thecharacter CH when the character CH is positioned at a low place. In thiscase, an image of the short-range object is displayed with a naturalstereoscopic effect.

In FIGS. 3A to 3D, the inter-camera distance DS is set based on theheight information included in the map information. Note that thisembodiment is not limited thereto.

For example, map information in which field-of-view state information ineach map block is linked to each map block may be provided. Thefield-of-view state information in the map block where the character orthe virtual camera is positioned may be read, and the inter-cameradistance DS may be set based on the read field-of-view stateinformation. For example, the inter-camera distance is increased whenthe field-of-view state is a distant field-of-view state, and is reducedwhen the field-of-view state is a short-range field-of-view state.

The inter-camera distance may be controlled based on map attributeinformation included in the map information. For example, when thecharacter is positioned on a water surface map, a short-range object(e.g., plants) is not present under the feet of the character. In thiscase, a stereoscopic image that enhances the depth of water is generatedby increasing the inter-camera distance DS. Alternatively, theinter-camera distance DS may be linked to each map block to control theinter-camera distance DS in each map block.

An example of a process that sets the inter-camera distance based on themap information is described below using a flowchart shown in FIG. 4.

The map information is read based on the position of the character orthe virtual camera, and the height information is acquired based on theread map information (steps S1 and S2). For example, a map blockcorresponding to the position of the character or the virtual camera isspecified, and the height information is acquired based on the mapinformation about the specified map block. The inter-camera distance isset based on the acquired height information (step S3). For example, theinter-camera distance is increased when the character CH is positionedat a high place, and is reduced when the character CH is positioned at alow place (see FIGS. 3C and 3D).

The left-eye virtual camera and the right-eye virtual camera are thenset based on the inter-camera distance (step S4). For example, theposition and the direction of the reference virtual camera that followsthe character is determined, and the position and the direction of eachof the left-eye virtual camera and the right-eye virtual camera are setbased on the position and the direction of the reference virtual cameraand the inter-camera distance. An image viewed from the left-eye virtualcamera is then drawn to generate a left-eye image (step S5). An imageviewed from the right-eye virtual camera is also drawn to generate aright-eye image (step S6). The left-eye image and the right-eye imageare output to the display section 190 using image signals (e.g.,side-by-side method).

2.3 Setting of Inter-Camera Distance when Target Object has Appeared

A method of setting the inter-camera distance when a target object hasappeared is described below as an example of the method of setting theinter-camera distance based on the position information about thecharacter or the like.

In this embodiment, the inter-camera distance is set based on at leastone of position information, direction information, and moving stateinformation about a target object targeted by the character. Forexample, the inter-camera distance is set based on at least one of theposition information, the direction information, and the moving stateinformation about the character and at least one of the positioninformation, the direction information, and the moving state informationabout the target object. Specifically, the inter-camera distance iscontrolled based on the relative positional relationship, the relativedirectional relationship, or the relative moving state relationshipbetween the character or the virtual camera and the target object.

In FIG. 5A, a target object TOB (i.e., enemy character) has appearedaround the character CH. The target object TOB can be controlled basedon the position information or the direction information about thecharacter CH (virtual camera). For example, the target object TOB iscaused to appear or make a motion when the character CH has approachedthe emergence area of the target object TOB, or faced toward the targetobject TOB.

In FIG. 5B, the direction of the character CH (virtual camera) coincideswith the direction in which the target object TOB is positioned(present). For example, the target object TOB is positioned within agiven direction range including the direction of the character CH. Inthis case, the inter-camera distance DS is changed, as shown in FIG. 5B.Specifically, the inter-camera distance is increased or reduced.

Specifically, the inter-camera distance DS is increased when the targetobject TOB is positioned away from the character CH (virtual camera).Therefore, an image of the target object TOB positioned away from thecharacter CH can be displayed with an appropriate stereoscopic effect.Specifically, the player can observe the target object TOB with astereoscopic effect appropriate for displaying a distant view.

When the character CH has approached the target object TOB, theinter-camera distance DS is reduced. For example, the inter-cameradistance DS is reduced as the distance between the character CH and thetarget object TOB decreases. Therefore, when the character CH hasapproached the target object TOB, an image of the target object TOBpositioned close to the character CH can be displayed with anappropriate stereoscopic effect.

Specifically, a stereoscopic image that mainly focuses on a distant viewis displayed when the target object TOB has appeared, so that the playeris prompted to focus on the target object TOB positioned away from thecharacter CH. The inter-camera distance DS is reduced when the characterCH has approached the target object TOB, so that an image in which thetarget object TOB suddenly appears at a position close to the characterCH can be displayed. It is possible to effectively surprise the playerby performing the above stereoscopic representation control. The playercan be notified that the character CH gradually approaches the targetobject TOB by utilizing stereoscopic level control based on theinter-camera distance DS by reducing the inter-camera distance DS as thedistance between the character CH and the target object TOB decreases.

Note that the inter-camera distance may be controlled based on theposition information, the direction information, or the moving stateinformation about the target object using a method other than the methodshown in FIGS. 5A and 5B. For example, the inter-camera distance may becontrolled based on relative distance information determined based onthe position of the character (virtual camera) and the position of thetarget object, or may be controlled based on a relative directionrelationship determined based on the direction of the character and thedirection of the target object. For example, the inter-camera distancemay be reduced as the distance between the character and the targetobject reduces, or may be increased or reduced as the direction of thecharacter becomes parallel to the direction of the target object. Theinter-camera distance may be reduced when it has been determined thatthe moving path (moving state information) of the target object isextending toward the character, or when it has been determined that themoving path (moving state information) of the character is extendingtoward the target object.

An example of a process that sets the inter-camera distance when thetarget object has appeared is described below using a flowchart shown inFIG. 6.

Whether or not the target object (enemy character) has appeared isdetermined (step S11). For example, it is determined that the targetobject has appeared when the position of the character has entered theemergence area of the target object.

Whether or not the target object is positioned within a given directionrange including the direction of the character or the virtual camera isthen determined (step S12). For example, whether or not the targetobject is positioned within a direction range of −α to α degrees (e.g.,α=20) around the direction of the character or the virtual camera isdetermined. When the target object is positioned within the directionrange, the distance between the character or the virtual camera and thetarget object is calculated (step S13). The inter-camera distance is setbased on the calculated distance (step S14). For example, theinter-camera distance is increased when the calculated distance islonger than a given reference distance (distance threshold value), andis reduced when the calculated distance is shorter than the givenreference distance. Alternatively, the inter-camera distance isgradually reduced as the distance between the character or the virtualcamera and the target object decreases.

The left-eye virtual camera and the right-eye virtual camera are setbased on the inter-camera distance to generate a left-eye image and aright-eye image (steps S15 to S17).

2.4 Setting of Inter-Camera Distance when Obstacle Object is PositionedBetween Virtual Camera and Character

A method of setting the inter-camera distance when an obstacle object ispositioned between the virtual camera and the character is describedbelow as an example of the method of setting the inter-camera distancebased on the position information about the character or the like.

In FIG. 7, an obstacle object BOB is positioned between the virtualcamera (VC, VCL, VCR) and the character CH so that the line of sight ofthe virtual camera is blocked. In this case, the stereoscopic effect onthe obstacle object BOB that has appeared in front of the player may betoo high if the inter-camera distance DS is long, so that the player maybe given a wrong impression.

In this embodiment, whether or not the obstacle object BOB has beenpositioned between the virtual camera and the character CH is detectedbased on the position information about the virtual camera and theposition information about the character CH. When it has been detectedthat the obstacle object BOB has been positioned between the virtualcamera and the character CH, the inter-camera distance DS is reduced.For example, the inter-camera distance DS is set to a short distancethat is provided for the obstacle object BOB.

Specifically, since the inter-camera distance DS is set to a distanceappropriate for the obstacle object BOB even if the obstacle object BOBhas suddenly appeared in front of the player, it is possible to preventa situation in which the stereoscopic effect on the obstacle object BOBgives the player the wrong impression.

An example of a process that sets the inter-camera distance when anobstacle object is positioned between the virtual camera and thecharacter is described below using a flowchart shown in FIG. 8.

A line segment that connects the virtual camera (viewpoint) and thecharacter is calculated (step S21). For example, a line segment thatconnects the position of the virtual camera and a representativeposition of the character is calculated. Whether or not an object thatintersects the line segment is present is then determined (step S22).

When an object that intersects the line segment is present, the objectthat intersects the line segment is determined to be the obstacleobject, and the inter-camera distance is reduced (see FIG. 7) (stepS23).

The left-eye virtual camera and the right-eye virtual camera are setbased on the inter-camera distance to generate a left-eye image and aright-eye image (steps S24 to S26).

2.5 Setting of Inter-Camera Distance Based on Target Point

A method of setting the inter-camera distance based on a target point isdescribed below as an example of the method of setting the inter-cameradistance based on the position information about the character or thelike.

It may be desirable to guide the character (player) to a given point onthe game field during the game. For example, a three-dimensional game isdesigned so that a character can arbitrarily move in a three-dimensionalspace. However, a target point (i.e., destination of the character) maybe set, and the character may be guided to the target point so that thegame proceeds smoothly. Specifically, the character can be guided alonga path desired by the game creator. In this case, it is desirable toguide the character so that the player does not become aware that thecharacter is guided.

In this embodiment, when the target point has been set in the objectspace (game space), the character (virtual camera) is guided to thetarget point by controlling the inter-camera distance.

In FIG. 9A, a target point TG is set to a secret door, for example. Thetarget point TG is a point that is targeted by the character CH as tomovement. The player can proceed to the next game stage when thecharacter CH has passed through the secret door to which the targetpoint TG is set. Therefore, it is important to guide the character CH tothe target point TG so that the player is not given a wrong impression.

In FIG. 9B, the inter-camera distance DS is increased when the targetpoint TG has been set, so that stereoscopic representation that mainlyfocuses on a distant view is displayed. Therefore, the player can easilyrecognize the secret door positioned at a long distance away from thecharacter CH due to an appropriate stereoscopic effect, so that theplayer is prompted to focus on the target point TG (secret door).

As shown in FIG. 9C, the inter-camera distance DS is reduced as thecharacter CH (virtual camera) approaches the target object TG. Theinter-camera distance DS may be reduced as the character CH (virtualcamera) approaches the target object TG on condition that the directionof the character CH (virtual camera) faces the target point TG.

Specifically, the inter-camera distance DS changes when the character CHapproaches the target point TG based on an operation performed by theplayer after the target point TG has appeared. Since an image of thesecret door is displayed by appropriate stereoscopic representationbased on the distance between the secret door and the character CH, thecharacter CH can be more effectively guided to the target point TG. Forexample, the inter-camera distance DS is not changed when the characterCH has moved in a direction other than the direction of the target pointTG, but is changed when the character CH has moved in the direction ofthe target point TG. This makes it possible to guide the character CH inthe direction of the target point TG (i.e., the direction in which theinter-camera distance DS changes). Therefore, the character CH can beguided to the target point TG by effectively controlling theinter-camera distance DS.

Note that the inter-camera distance may be controlled to guide thecharacter or the virtual camera to the target point using a method otherthan the method described with reference to FIGS. 9A to 9C. For example,the inter-camera distance may be controlled to guide the character orthe virtual camera to the target point based on the relative positionalrelationship between the character or the virtual camera and the targetpoint, the relative directional relationship between the character orthe virtual camera and the target point, the distance between thecharacter or the virtual camera and the target point, or the like. Whena plurality of target points have been set, a target point correspondingto the direction of the character or the virtual camera is selected fromthe plurality of target points. The inter-camera distance is set basedon the distance between the selected target point and the character orthe virtual camera, for example.

The inter-camera distance may be controlled based on the moving stateinformation about the character or the virtual camera. In FIG. 10, amoving speed VE of the character CH (virtual camera) is detected, andthe inter-camera distance DS is set based on the detected moving speedVE, for example. Specifically, the inter-camera distance DS is increasedas the moving speed VE of the character CH increases.

Therefore, since a distant view is displayed with an appropriatestereoscopic effect when the character CH moves quickly, the characterCH can be guided to the target point or the like that is positioned awayfrom the character CH. Alternatively, the inter-camera distance DS maybe increased when it has been determined that the player hascontinuously tilted the operation lever or the like of the operationsection in a given direction so that the character CH continuously movesin a given direction. In this case, a distant object that is present inthe moving direction of the character CH that moves based on theoperation performed by the player is displayed by an appropriatestereoscopic image. This makes it possible to display a smooth andrealistic stereoscopic image that gives the player the impression thatthe character CH (player) approaches the distant object.

An example of a process that sets the inter-camera distance based on thetarget point is described below using a flowchart shown in FIG. 11.

Whether or not the target point has been set is determined (step S31).When the target point has been set, the inter-camera distance isincreased as described with reference to FIGS. 9A and 9B (step S32).

Whether or not the distance between the character or the virtual cameraand the target point is within a given distance is then determined (stepS33). When the distance between the character or the virtual camera andthe target point is within the given distance, the inter-camera distanceis set based on the distance between the character or the virtual cameraand the target point as described with reference to FIG. 9C (step S34).For example, the inter-camera distance DS is reduced as the distancebetween the character or the virtual camera and the target pointdecreases.

The left-eye virtual camera and the right-eye virtual camera are thenset based on the inter-camera distance to generate a left-eye image anda right-eye image (steps S35 to S37).

2.6 Setting of Inter-Camera Distance Based on Presence HistoricalInformation

A method of setting the inter-camera distance based on presencehistorical information is described below as an example of the method ofsetting the inter-camera distance based on the position informationabout the character or the like.

When playing a three-dimensional game, the player observes thesurrounding situation in a different way depending on whether or not theplayer has visited the current place for the first time.

When the player has visited the current place for the first time (i.e.,the player is not familiar with the current place), it is desirable thata short-range object positioned near the character operated by theplayer is displayed by appropriate stereoscopic representation.

When the player has visited the current place many times (i.e., theplayer is familiar with the current place), a short-range object neednot necessarily be displayed by appropriate stereoscopic representation,and it is desirable to display a distant-view image.

Therefore, the inter-camera distance may be set based on the presencehistorical information about the character (virtual camera) in eachplace in the object space. For example, the inter-camera distance isreduced in a place where it has been determined that the presencefrequency of the character (virtual camera) is low based on the presencehistorical information. On the other hand, the inter-camera distance isincreased in a place where it has been determined that the presencefrequency of the character (virtual camera) is high based on thepresence historical information.

As shown in FIG. 12A, the map of the game field where the character CHmoves is divided into a plurality of map blocks MB1 to MBN. A map blockwhere the character CH (virtual camera VC) is positioned is specifiedfrom the plurality of map blocks MB1 to MBN.

As shown in FIG. 12B, presence historical information in which thepresence frequency of the character CH is linked to each map block isprovided. The presence frequency linked to the map block where thecharacter CH is positioned is read based on the presence historicalinformation. Whether or not the character CH has visited (has beenpositioned in) the map block for the first time can thus be determined.

In FIG. 12B, the presence frequency linked to the map block MB1 is “0”.Therefore, when the character CH is positioned in the map block MB1, itis determined that the character CH has visited the map block MB1 forthe first time. The presence frequency linked to the map block MB3 is“6”. Therefore, when the character CH is positioned in the map blockMB3, it is determined that the character CH has visited the map blockMB3 many times.

When it has been determined that the character CH has visited thecurrent map block (e.g., MB1) for the first time, the inter-cameradistance is reduced on the assumption that the player is not familiarwith the surrounding situation. Therefore, the player can observe ashort-range object positioned around the character CH with anappropriate stereoscopic effect, and does not feel uneasy.

When it has been determined that the character CH has visited thecurrent map block (e.g., MB3) many times, the inter-camera distance isincreased on the assumption that the player is familiar with thesurrounding situation. Therefore, the player can observe a distantobject positioned away from the character CH with an appropriatestereoscopic effect rather than a short-range object positioned aroundthe character CH, and can smoothly play the game.

Note that the inter-camera distance may be set based on the presencehistorical information using a method other than the method describedwith reference to FIGS. 12A and 1213. For example, the presencehistorical information is not limited to information in which thepresence frequency is linked to the map block indicated by the mapinformation (see FIG. 12B), but may be information in which the presencefrequency is linked to another type of information. The inter-cameradistance may be increased in a place where the presence frequency islow, and may be reduced in a place where the presence frequency is high.The inter-camera distance may be controlled while reflecting theposition, the direction, or the moving state of the character, theposition or the direction of the target object or the target point, orthe like in addition to the presence frequency.

An example of a process that sets the inter-camera distance based on thepresence historical information is described below using a flowchartshown in FIG. 13.

The map information is read based on the position of the character orthe virtual camera (step S41). The presence frequency is acquired basedon the presence historical information linked to the map information(step S42). For example, the map block indicated by the map informationis specified based on the position of the character or the like, and thepresence frequency corresponding to the specified map block is read (seeFIGS. 12A and 12B).

The presence historical information is then updated (step S43). Forexample, the presence frequency linked to the specified map block isincremented by one.

The inter-camera distance is set based on the acquired presencefrequency (step S44). For example, the inter-camera distance is reducedwhen the presence frequency is low so that a short-range object can beeasily observed. The inter-camera distance is increased when thepresence frequency is high so that a distant object can be easilyobserved.

The left-eye virtual camera and the right-eye virtual camera are setbased on the inter-camera distance to generate a left-eye image and aright-eye image (steps S45 to S47).

2.7 Setting of Inter-Camera Distance Based on Accessory Object, Motion,or Event

A method of setting the inter-camera distance based on an accessoryobject, a motion, an event, or the like is described below.

For example, the inter-camera distance may be set based on an objectattached to the character. As shown in FIG. 14A, a table in which theinter-camera distance (e.g., DS1, DS2, and DS3) is linked to anaccessory object (e.g., EOB1, EOB2, and EOB3) is provided, for example.When the character is equipped with the accessory object EOB1, theinter-camera distance between the left-eye virtual camera and theright-eye virtual camera corresponding to the character is set to DS1.When the character is equipped with the accessory object EOB2 or EOB3,the inter-camera distance is set to DS2 or DS3, respectively.

This makes it possible to set the inter-camera distance corresponding tothe accessory object of the character, and generate a stereoscopicimage.

In FIG. 14B, the character CH is equipped with the short-range attackobject EOB1 (e.g., knife or pistol) as a weapon object. In this case,the inter-camera distance DS is reduced to implement short-rangestereoscopic representation on the assumption that the character CHprepares for a close battle. This makes it possible for the player toeasily attack an enemy positioned at a short distance away from thecharacter CH.

In FIG. 14C, the character CH is equipped with the long-range attackobject EOB2 (e.g., rifle) as a weapon object. In this case, theinter-camera distance DS is increased to enhance the stereoscopic depthon the assumption that the character CH (player) aims at an enemypositioned at a long distance away from the character CH. This makes itpossible for the player to easily attack an enemy positioned at a longdistance away from the character CH.

Note that the accessory object used to change the inter-camera distanceis not limited to the weapon object shown in FIGS. 14B and 14C. Forexample, a long-range observation item object (e.g., binoculars ortelescope) and a short-range observation item object (e.g., magnifyingglass) may be provided. The inter-camera distance may be increased whenthe character CH is equipped with the long-range observation itemobject, and may be reduced when the character CH is equipped with theshort-range observation item object.

The inter-camera distance may be controlled based on the motion of thecharacter. As shown in FIG. 14D, a table in which the inter-cameradistance (e.g., DS1, DS2, and DS3) is linked to a motion number (e.g.,NMS1, NMS2, and NMS3) is provided, for example. When the motion numberof the reproduction target motion of the character is NMS1, theinter-camera distance is set to DS1. When the motion number is NMS2, theinter-camera distance is set to DS2.

For example, when the motion of the character is a jump motion, it maybe assumed that the character observes a distant view. In this case,stereoscopic representation that enhances the stereoscopic depth isimplemented by increasing the inter-camera distance DS.

When the motion of the character is a squat motion, it may be assumedthat the character observes a near view. In this case, stereoscopicrepresentation appropriate for a short-range object (near view) isimplemented by reducing the inter-camera distance DS.

Specifically, since a stereoscopic image is generated using aninter-camera distance appropriate for the field-of-view statecorresponding to the motion of the character, more intelligentinter-camera distance control can be implemented.

The inter-camera distance may be controlled based on the motion of thecharacter using a method other than the method described with referenceto FIG. 14D. For example, the inter-camera distance may be changed basedon the motion frame of the motion of the character. For example, whenthe viewpoint of the character is set at a high position in thefirst-half motion frame, and is set at a low position in the second-halfmotion frame, the inter-camera distance DS is increased in thefirst-half motion frame so that the stereoscopic depth is enhanced, andis reduced in the second-half motion frame so that short-rangestereoscopic representation is implemented. This makes it possible tomore finely control the inter-camera distance.

The inter-camera distance may be controlled based on the type of eventthat has been generated. For example, the inter-camera distance ischanged when a given event has been generated in connection with thecharacter. Specifically, the inter-camera distance is repeatedlyincreased and reduced.

In FIG. 15A, an event in which a hitting object (e.g., bullet) hits thecharacter CH has been generated. In this case, the inter-camera distanceDS is changed in a given cycle. Specifically, the inter-camera distanceDS is cyclically changed around a reference distance DSR (describedlater), and the amplitude of the change in the inter-camera distance DSis gradually reduced, as shown in FIG. 15B.

Therefore, the inter-camera distance DS increases and decreases when thecharacter CH operated by the player has been severely damaged, so that adecrease in concentration or dizziness of the character CH can bedisplayed. Specifically, the stereoscopic level (stereoscopic vision)changes when the inter-camera distance DS has changed. Therefore, aneffect in which dizziness occurs for a given period due to a hit by thehitting object HOB (e.g., bullet) can be created.

An example of the inter-camera distance change process described withreference to FIGS. 15A and 1513 is described below using a flowchartshown in FIG. 16.

Whether or not the hitting object has hit the character is determined(see FIG. 15A) (step S51). When it has been determined that the hittingobject has hit the character, hit information (e.g., hit force and hitdirection) about the hitting object is acquired (step S52).

An inter-camera distance change function (see FIG. 15B) is then setbased on the acquired hit information (step S53). Specifically, theamplitude, the change cycle, the change period, and the like of thechange function are set. For example, the change function is set so thatthe amplitude, the change cycle, or the change period increases when thehit force is high, or when the hit direction is the front direction.

The inter-camera distance is set based on the change function (stepS54). Specifically, the inter-camera distance at each time is acquiredand set based on the change function.

The left-eye virtual camera and the right-eye virtual camera are setbased on the inter-camera distance to generate a left-eye image and aright-eye image (steps S55 to S57).

Whether or not the change period of the change function has ended isthen determined (step S58). When the change period has not ended, theprocess is performed again from the step S54. When the change period hasended, the process is terminated.

2.8 Setting of Inter-Camera Distance Based on Time Parameter

A method of setting the inter-camera distance based on a time parameteris described below.

A human can observe an object stereoscopically due to physiologicalfunctions (e.g., binocular disparity (i.e., a difference in retina imagelocation due to spatial separation between the right eye and the lefteye), convergence (i.e., inward eye movement), and focus adjustment(i.e., the thickness of the crystalline lens responds to the distancefrom an object)). A human recognizes a stereoscopic effect by processingthese physiological functions in the brain.

When implementing such a stereoscopic effect using a stereoscopic image,the player observes the stereoscopic image in a field-of-view state(e.g., the player wears glasses) differing from a normal state.Therefore, the player may be given a wrong impression if a stereoscopicimage at a high stereoscopic level is displayed when the player startsplaying the game. Specifically, the stereoscopic effect using astereoscopic image is initially more effective, and it may be difficultfor the player to observe the stereoscopic image if the stereoscopiceffect is too high.

The player gradually becomes accustomed to the stereoscopic effect withthe passage of time. The stereoscopic effect gradually decreases whenthe player has become accustomed to the stereoscopic effect. Therefore,the player is not given a wrong impression if the stereoscopic image isdisplayed with a higher stereoscopic effect.

In this embodiment, a game-related time parameter is acquired. Forexample, the frame update count after the game has started is counted toacquire an elapsed time parameter that indicates the time elapsed afterthe game has started. Alternatively, the frame update count is countedduring a period in which the player plays the game, and the count valuesare summed up to acquire a cumulative play time parameter that indicatesthe cumulative play time of the player as the elapsed time parameter.When the image generation system includes a timer that measures thetime, the elapsed time parameter or the cumulative play time parametermay be calculated based on time information from the timer.

The inter-camera distance between the left-eye virtual camera and theright-eye virtual camera is set based on the acquired time parameter togenerate a left-eye image and a right-eye image. For example, theinter-camera distance is increased as the time indicated by the elapsedtime parameter (i.e., time parameter) increases. Alternatively, theinter-camera distance is increased as the cumulative play time indicatedby the cumulative play time parameter (i.e., time parameter) increases.

FIGS. 17A and 17B show examples of inter-camera distance control basedon the time parameter.

In FIG. 17A, the inter-camera distance DS is set to a short distance(e.g., lower-limit distance) until a given period TIN elapses after thegame has started, for example. The inter-camera distance DS is increasedwhen the given period TIN has elapsed after the game has started. Forexample, the inter-camera distance DS is brought closer to the referencedistance DSR as the time indicated by the time parameter increases.

Specifically, the inter-camera distance DS can be increased to thereference distance DSR after the given period TIN has elapsed (i.e.,after the player has become accustomed to the stereoscopic field-of-viewenvironment). This prevents a situation in which the player is given awrong impression due to a high stereoscopic effect when the playerstarts playing the game. When the player has become accustomed tostereoscopic vision after the given period TIN has elapsed, astereoscopic image can be displayed to the player by setting theinter-camera distance DS to the reference distance DSR at which astandard stereoscopic effect is obtained.

A lower-limit distance DSL, the reference distance DSR, and anupper-limit distance DSH of the inter-camera distance DS (see FIG. 17B)can be set by the player using the game environment setting screen orthe like (described later). The inter-camera distance DS is set to thelower-limit distance DSL until the given period TIN elapses after thegame has started.

The inter-camera distance DS is increased when the given period TIN haselapsed, and is set to the reference distance DSR (standard inter-cameradistance). When changing the inter-camera distance DS using the methodsdescribed with reference to FIGS. 2A to 16, the inter-camera distance DSis controlled so that the upper-limit distance DSH is not exceeded. Forexample, the inter-camera distance DS is controlled so that theupper-limit distance DSH is not exceeded when increasing theinter-camera distance DS as shown in FIGS. 3C and 9B. The inter-cameradistance DS is also controlled so that the upper-limit distance DSH isnot exceeded when changing the inter-camera distance DS to displaydizziness or the like as shown in FIG. 15B. This makes it possible tochange the inter-camera distance DS while reflecting the player's willto a certain extent.

The operation information input by the player using the operationsection 160 may be monitored, and the inter-camera distance may becontrolled based on the monitoring result.

For example, the inter-camera distance DS is increased as the timeindicated by the time parameter increases (see FIGS. 17A and 17B). Theinter-camera distance is reduced when it has been determined that theoperation information has not been input for a given period TNOP. Theinter-camera distance DS is increased when the operation information hasbeen input thereafter, and is set to the reference distance DSR.

Specifically, it is considered that the player suspends game play andtakes a rest when the operation information has not been input using theoperation section 160 (controller) for a long period (TNOP). Therefore,the stereoscopic effect is reduced by reducing the inter-camera distanceDS. For example, the inter-camera distance DS is set to the lower-limitdistance DSL shown in FIG. 17B. Specifically, the inter-camera distanceDS is set to the lower-limit distance DSL until the player plays thegame again. This prevents a situation in which the player is given awrong impression due to a high stereoscopic effect when the player playsthe game again.

When the player has started the game again, and the operationinformation has been detected, the inter-camera distance DS is increasedafter a given period has elapsed, and is set to the reference distanceDSR. The standard stereoscopic effect due to the reference distance DSRis thus restored. Therefore, the player can enjoy the game withstereoscopic vision in the field-of-view state that has been used beforesuspending the game.

The input frequency of the operation information input from theoperation section 160 operated by the player may be monitored, and theinter-camera distance may be controlled based on the monitoring result.Specifically, the inter-camera distance is reduced when it has beendetermined that the input frequency of the operation information ishigher than a reference frequency.

FIG. 18B shows a setting example of the inter-camera distance DS basedon the input frequency. In FIG. 18B, the inter-camera distance DS is setto DS1 when the input frequency is lower than a first referencefrequency FR1. The inter-camera distance DS is set to DS2 (DS2<DS1) whenthe input frequency is between the first reference frequency FR1 and asecond reference frequency FR2, and is set to DS3 (DS3<DS2) when theinput frequency is higher than the second reference frequency FR2.

For example, when the input frequency of the operation information inputfrom the operation section 160 operated by the player is high, it may beconsidered that many enemies or the like are present around thecharacter operated by the player, and the player is desperatelyoperating the operation section 160 in order to deal with the enemies.Therefore, the inter-camera distance DS is reduced (e.g., DS=DS3) sothat the enemies present around the character are displayed with anappropriate stereoscopic effect. This makes it possible for the playerto observe the enemies present around the character with an appropriatestereoscopic effect, and smoothly proceed with the game.

When the input frequency of the operation information input from theoperation section 160 is low, it may be considered that the player iscarefully checking a situation around the character. Therefore, theinter-camera distance DS is increased (e.g., DS=DS1) so that a distantview is displayed with an appropriate stereoscopic effect. This makes itpossible for the player to observe a distant target and the like with anappropriate stereoscopic effect after defeating the enemies presentaround the character, and then determine the subsequent operation of thecharacter.

Note that the inter-camera distance may be set based on the inputfrequency of the operation information input from the operation section160 in a way differing from the example shown in FIG. 19B. For example,the inter-camera distance may be increased as the input frequency of theoperation information input from the operation section 160 increases.

FIGS. 19A and 19B show examples of the game environment setting screen(option setting screen) that allows the player to set the game playenvironment.

In FIG. 19A, the player can set “stereoscopic method”, “stereoscopiclevel”, “television size”, “distance from television”, and the like asstereoscopic options of the game environment settings. The player canset a polarized method using polarized glasses, a shutter method using aliquid crystal shutter, or the like as the stereoscopic method.

The stereoscopic level corresponds to the inter-camera distance DS. Theplayer can observe a stereoscopic image with the desired stereoscopiceffect by arbitrarily setting the stereoscopic level.

The television size is the size of a television (display section) onwhich a stereoscopic image is displayed. The distance from thetelevision is the distance between the player and the television. Whenthe television size or the distance from the television is changed, thestereoscopic effect observed by the player differs even if theinter-camera distance is the same. Therefore, it is desirable to correctthe inter-camera distance depending on the television size or thedistance from the television.

In FIG. 19B, an upper-limit value, a reference value, and a lower-limitvalue can be set as the stereoscopic level. The upper-limit value, thereference value, and the lower-limit value respectively correspond tothe upper-limit distance DSH, the reference distance DSR, and thelower-limit distance DSL described with reference to FIG. 17B. Theallowable change range of the inter-camera distance DS is set using theupper-limit distance DSH corresponding to the upper-limit value of thestereoscopic level and the lower-limit distance DSL corresponding to thelower-limit value of the stereoscopic level.

In this embodiment, the inter-camera distance DS is set based on atleast one of the allowable change range (DSH-DSL) and the referencedistance DSR of the inter-camera distance DS that have been set usingthe game environment setting screen shown in FIG. 19B. For example, theinter-camera distance DS is controlled so that the inter-camera distanceDS changes within the allowable change range set using the gameenvironment setting screen.

In FIGS. 17A and 17B, the inter-camera distance DS is controlled so thatthe inter-camera distance DS approaches the reference distance DSR thathas been set by the player using the game environment setting screenwith the passage of time. In this case, the inter-camera distance DS iscontrolled so that the inter-camera distance DS falls within theallowable change range set using the upper-limit distance DSH and thelower-limit distance DSL (see FIG. 17B). In FIG. 15B, the inter-cameradistance DS is changed using the change function that is based on thereference distance DSR that has been set using the game environmentsetting screen. The inter-camera distance DS is controlled so that theamplitude of the change function of the inter-camera distance DS fallswithin the allowable change range set using the upper-limit distance DSHand the lower-limit distance DSL. When controlling the inter-cameradistance DS as shown in FIGS. 3C, 5B, 7, 9B, 9C, and the like, theinter-camera distance DS is similarly brought closer to the referencedistance DSR, or the inter-camera distance DS is controlled so that theinter-camera distance DS falls within the allowable change range.

This makes it possible to change the inter-camera distance whilereflecting the player's (user's) will to a certain extent. Specifically,the player can arbitrarily determine the reference value and the rangeof the stereoscopic level. This makes it possible to set theinter-camera distance depending on the game situation while absorbing adifference between players, so that a novel stereoscopic interfaceenvironment can be provided.

When DSL=0.7, DSR=1.2, and DSH=1.5 in FIG. 19B, the reference distanceis set to 1.2, and the inter-camera distance is changed within the rangeof 0.7 to 1.5. When DSL=DSR=DSH, a stereoscopic image based on a fixedinter-camera distance may be generated.

An example of a process that sets the inter-camera distance based on thetime parameter is described below using a flowchart shown in FIG. 20.

Whether or not a frame update timing has been reached is determined(step S61). When the frame update timing has been reached, the timeparameter is updated (step S62). For example, the frame update countthat indicates the elapsed time is incremented by one.

Whether or not a given period (TIN) has elapsed after the game hasstarted is then determined (see FIG. 17B) (step S63). When the givenperiod has not elapsed, the inter-camera distance is set to thelower-limit distance (DSL) (step S64). When the given period haselapsed, the inter-camera distance is increased to approach thereference distance (DSR) (step S65).

The left-eye virtual camera and the right-eye virtual camera are setbased on the inter-camera distance to generate a left-eye image and aright-eye image (steps S66 to S68).

Although some embodiments of the invention have been described in detailabove, those skilled in the art would readily appreciate that manymodifications are possible in the embodiments without materiallydeparting from the novel teachings and advantages of the invention.Accordingly, such modifications are intended to be included within thescope of the invention. Any term cited with a different term having abroader meaning or the same meaning at least once in the specificationand the drawings can be replaced by the different term in any place inthe specification and the drawings. The inter-camera distance settingprocess, the time parameter calculation process, and the like are notlimited to those described in connection with the above embodiments.Methods equivalent to those described in connection with the aboveembodiments are included within the scope of the invention. Theinvention may be applied to various games. The invention may be appliedto various image generation systems such as an arcade game system, aconsumer game system, a large-scale attraction system in which a numberof players participate, a simulator, a multimedia terminal, a systemboard that generates a game image, and a mobile phone.

What is claimed is:
 1. An image generation system including a processor,comprising: an object space setting section that sets an object spacewhere a plurality of objects are disposed; a character control sectionthat controls a character that moves in the object space; a virtualcamera control section that controls a virtual camera; an inter-cameradistance setting section that sets an inter-camera distance based on atleast one of position information, direction information, and movingstate information about the character or the virtual camera, theinter-camera distance being a distance between a left-eye virtual cameraand a right-eye virtual camera for generating a stereoscopic image, theinter-camera distance setting section changing the inter-camera distanceby repeatedly increasing and reducing the inter-camera distance when agiven event has been generated in connection with the character; and animage generation section that generates a left-eye image and a right-eyeimage, the left-eye image being an image viewed from the left-eyevirtual camera in the object space, and the right-eye image being animage viewed from the right-eye virtual camera in the object space. 2.An image generation system including a processor, comprising: an objectspace setting section that sets an object space where a plurality ofobjects are disposed; a character control section that controls acharacter that moves in the object space; a virtual camera controlsection that controls a virtual camera; an inter-camera distance settingsection that sets an inter-camera distance based on at least one ofposition information, direction information, and moving stateinformation about the character or the virtual camera, the inter-cameradistance being a distance between a left-eye virtual camera and aright-eye virtual camera for generating a stereoscopic image, theinter-camera distance setting section acquiring map information about aplace where the character or the virtual camera is positioned based onthe position information about the character or the virtual camera, andsetting the inter-camera distance based on the acquired map information;and an image generation section that generates a left-eye image and aright-eye image, the left-eye image being an image viewed from theleft-eye virtual camera in the object space, and the right-eye imagebeing an image viewed from the right-eye virtual camera in the objectspace.
 3. The image generation system as defined in claim 2, theinter-camera distance setting section increasing the inter-cameradistance when it has been determined that the character or the virtualcamera is positioned at a high place based on the map information, andreducing the inter-camera distance when it has been determined that thecharacter or the virtual camera is positioned at a low place based onthe map information.
 4. The image generation system as defined in claim2, the inter-camera distance setting section setting the inter-cameradistance based on the type of accessory object attached to thecharacter.
 5. The image generation system as defined in claim 2, theinter-camera distance setting section setting the inter-camera distancebased on a motion of the character.
 6. An image generation systemincluding a processor, comprising: an object space setting section thatsets an object space where a plurality of objects are disposed; acharacter control section that controls a character that moves in theobject space; a virtual camera control section that controls a virtualcamera; an inter-camera distance setting section setting an inter-cameradistance based on at least one of direction information and movingdirection information about a target object that is targeted by thecharacter during a game, the inter-camera distance setting sectionsetting the inter-camera distance to be a different distance dependingon direction information or moving direction information about thecharacter or the virtual camera, the inter-camera distance being adistance between a left-eye virtual camera and a right-eye virtualcamera for generating a stereoscopic image; an image generation sectionthat generates a left-eye image and a right-eye image, the left-eyeimage being an image viewed from the left-eye virtual camera in theobject space, and the right-eye image being an image viewed from theright-eye virtual camera in the object space.
 7. The image generationsystem as defined in claim 6, the inter-camera distance setting sectionchanging the inter-camera distance when it has been determined that adirection of the character or the virtual camera has approximatelycoincided with a direction where the target object is positioned.
 8. Theimage generation system as defined in claim 7, the inter-camera distancesetting section increasing the inter-camera distance when it has beendetermined that the target object is positioned at a long distance awayfrom the character or the virtual camera, and reducing the inter-cameradistance when it has been determined that the target object ispositioned at a short distance away from the character or the virtualcamera.
 9. The image generation system as defined in claim 6, theinter-camera distance setting section setting the inter-camera distancebased on the type of accessory object attached to the character.
 10. Theimage generation system as defined in claim 6, the inter-camera distancesetting section setting the inter-camera distance based on a motion ofthe character.
 11. The image generation system as defined in claim 6,the inter-camera distance setting section changing the inter-cameradistance as a direction of the character becomes parallel to a directionof the target object.
 12. The image generation system as defined inclaim 6, the inter-camera distance setting section reducing theinter-camera distance when it has been determined that a moving path ofthe target object is extending toward the character, or when it has beendetermined that a moving path of the character is extending toward thetarget object.
 13. An image generation method comprising: setting anobject space where a plurality of objects are disposed; controlling acharacter that moves in the object space; controlling a virtual camera;setting an inter-camera distance using a processor based on at least oneof position information, direction information and moving stateinformation about the character or the virtual camera, the inter-cameradistance being a distance between a left-eye virtual camera and aright-eye virtual camera for generating a stereoscopic image; generatinga left-eye image and a right-eye image, the left-eye image being animage viewed from the left-eye virtual camera in the object space, andthe right-eye image being an image viewed from the right-eye virtualcamera in the object space; and changing the inter-camera distance byrepeatedly increasing and reducing the inter-camera distance when agiven event has been generated in connection with the character.
 14. Animage generation method comprising: setting an object space where aplurality of objects are disposed; controlling a character that moves inthe object space; controlling a virtual camera; setting an inter-cameradistance using a processor based on at least one of positioninformation, direction information and moving state information aboutthe character or the virtual camera, the inter-camera distance being adistance between a left-eye virtual camera and a right-eye virtualcamera for generating a stereoscopic image; generating a left-eye imageand a right-eye image, the left-eye image being an image viewed from theleft-eye virtual camera in the object space, and the right-eye imagebeing an image viewed from the right-eye virtual camera in the objectspace; and acquiring map information about a place where the characteror the virtual camera is positioned based on the position informationabout the character or the virtual camera, and setting the inter-cameradistance based on the acquired map information.
 15. The image generationmethod of claim 14, further comprising: increasing the inter-cameradistance when it has been determined that the character or the virtualcamera is positioned at a high place based on the map information, andreducing the inter-camera distance when it has been determined that thecharacter or the virtual camera is positioned at a low place based onthe map information.
 16. An image generation method comprising: settingan object space where a plurality of objects are disposed; controlling acharacter that moves in the object space; controlling a virtual camera;setting an inter-camera distance using a processor based on at least oneof direction information and moving direction information about a targetobject that is targeted by the character during a game, the inter-cameradistance being a different distance depending on direction informationor moving direction information about the character or the virtualcamera, the inter-camera distance being a distance between a left-eyevirtual camera and a right-eye virtual camera for generating astereoscopic image; generating a left-eye image and a right-eye image,the left-eye image being an image viewed from the left-eye virtualcamera in the object space, and the right-eye image being an imageviewed from the right-eye virtual camera in the object space.
 17. Theimage generation method of claim 16, further comprising: changing theinter-camera distance when it has been determined that a direction ofthe character or the virtual camera has approximately coincided with adirection where the target object is positioned.
 18. The imagegeneration method of claim 17, further comprising: increasing theinter-camera distance when it has been determined that the target objectis positioned at a long distance away from the character or the virtualcamera, and reducing the inter-camera distance when it has beendetermined that the target object is positioned at a short distance awayfrom the character or the virtual camera.
 19. The image generationmethod of claim 16, further comprising: changing the inter-cameradistance as a direction of the character becomes parallel to a directionof the target object.
 20. The image generation method of claim 16,further comprising: reducing the inter-camera distance when it has beendetermined that a moving path of the target object is extending towardthe character, or when it has been determined that a moving path of thecharacter is extending toward the target object.